set(src_dirs
            GPTIM
            WDT
            SW_PWM
            HW_PWM
            IIC
            OLED
            SPI
            SPILCD
            RTC
            ADC
            RNG
            DHT11
            XL9555
            AP3216C
            QMA6100P
            SENSOR
            24CXX
            ESPTIM
            UART
            EXIT    
            LED)

set(include_dirs
                GPTIM
                WDT
                SW_PWM
                HW_PWM
                IIC
                OLED
                SPI
                RNG
                SPILCD
                QMA6100P
                RTC
                ADC
                DHT11
                XL9555
                AP3216C
                SENSOR
                24CXX
                ESPTIM
                UART
                EXIT
                LED)

set(requires
                driver
                esp_timer
                newlib
                esp_adc
                esp_lcd)
idf_component_register(SRC_DIRS ${src_dirs}
INCLUDE_DIRS ${include_dirs} REQUIRES ${requires})
component_compile_options(-ffast-math -O3 -Wno-error=format=-Wno-format)